package com.dify.knowledge.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Builder;
import lombok.Data;

import java.util.HashMap;
import java.util.Map;

/**
 * Dify Chat API请求DTO
 */
@Data
@Builder
public class DifyChatRequest {
    
    /**
     * 用户输入的查询内容
     */
    private String query;
    
    /**
     * 用户标识
     */
    private String user;
    
    /**
     * 响应模式：blocking（阻塞）或 streaming（流式）
     */
    @JsonProperty("response_mode")
    @Builder.Default
    private String responseMode = "blocking";
    
    /**
     * 对话ID（可选，用于多轮对话）
     */
    @JsonProperty("conversation_id")
    private String conversationId;
    
    /**
     * 输入变量（必需字段，即使为空也要传递）
     * Dify API 要求必须包含此字段
     */
    @Builder.Default
    private Map<String, Object> inputs = new HashMap<>();
}
